package paq_negocio;

import com.sun.rowset.CachedRowSetImpl;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Stateless;
import paq_clase_interfaz.interfaz_cronograma;
import paq_entidades.enti_asignatura;
import paq_entidades.enti_aula;
import paq_entidades.enti_cronograma;
import paq_entidades.enti_modulo;
import paq_entidades.enti_profesor;
import paq_entidades.enti_promocion;
import paq_entidades.enti_unidad_tematica;
import paq_entidades.enti_variables;
import paq_sentencias.Ejecutarsql;

@Stateless
public class neg_cronograma implements interfaz_cronograma {

    enti_variables v = new enti_variables();
    enti_unidad_tematica uni = new enti_unidad_tematica();
    enti_promocion promo = new enti_promocion();
    enti_modulo mod = new enti_modulo();
    enti_asignatura asig = new enti_asignatura();
    enti_cronograma entidad = new enti_cronograma();
    enti_aula au = new enti_aula();
    enti_profesor prof = new enti_profesor();
    Ejecutarsql ejec = new Ejecutarsql();

    @Override
    public void insertar(String au_codigo, String pr_cedula, String utem_codigo, String asig_codigo, String mod_codigo,
            String prom_codigo, String f_diaa, String hora_inicio, String hfin, String fecha) {
        au.setAu_codigo(au_codigo);
        prof.setPe_cedula(pr_cedula);
        uni.setCodigo(utem_codigo);
        asig.setCodigo(asig_codigo);
        mod.setCodigo(mod_codigo);
        promo.setProm_codigo(prom_codigo);
        entidad.setFd_hora_inicio(hora_inicio);
        entidad.setFd_hora_final(hfin);
        entidad.setFd_fecha(fecha);
        entidad.setFd_dia(f_diaa);
        if (asig.getCodigo() == null) {
            String sql = "insert into fecha_dia (fd_codigo,au_codigo,pr_cedula,mod_codigo,prom_codigo,fd_dia,fd_hora_i,fd_hora_f,fd_fecha,fd_grupo_modulo) values(concat('fd',fd.NextVal),'" + au.getAu_codigo() + "','" + prof.getPe_cedula() + "','" + mod.getCodigo() + "','" + promo.getProm_codigo() + "','" + entidad.getFd_dia() + "','" + entidad.getFd_hora_inicio() + "','" + entidad.getFd_hora_final() + "',to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),'" + (mod.getCodigo() + promo.getProm_codigo()) + "')";
            ejec.ejecutar2(sql);

        } else if (uni.getCodigo() == null) {
            String sql = "insert into fecha_dia (fd_codigo,au_codigo,pr_cedula,asig_codigo,mod_codigo,prom_codigo,fd_dia,fd_hora_i,fd_hora_f,fd_fecha,fd_grupo_modulo) values(concat('fd',fd.NextVal),'" + au.getAu_codigo() + "','" + prof.getPe_cedula() + "','" + asig.getCodigo() + "','" + mod.getCodigo() + "','" + promo.getProm_codigo() + "','" + entidad.getFd_dia() + "','" + entidad.getFd_hora_inicio() + "','" + entidad.getFd_hora_final() + "',to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),'" + (mod.getCodigo() + promo.getProm_codigo()) + "')";
            ejec.ejecutar2(sql);
        } else {
            String sql = "insert into fecha_dia (fd_codigo,au_codigo,pr_cedula,utem_codigo,asig_codigo,mod_codigo,prom_codigo,fd_dia,fd_hora_i,fd_hora_f,fd_fecha,fd_grupo_modulo) values(concat('fd',fd.NextVal),'" + au.getAu_codigo() + "','" + prof.getPe_cedula() + "','" + uni.getCodigo() + "','" + asig.getCodigo() + "','" + mod.getCodigo() + "','" + promo.getProm_codigo() + "','" + entidad.getFd_dia() + "','" + entidad.getFd_hora_inicio() + "','" + entidad.getFd_hora_final() + "',to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),'" + (mod.getCodigo() + promo.getProm_codigo()) + "')";
            ejec.ejecutar2(sql);

        }
        v.msm = ejec.getMen();
    }

    @Override
    public void eliminar(String al_codigo) {
        entidad.setCodigo(al_codigo);
        String sql = "delete from  fecha_dia where fd_codigo='" + entidad.getCodigo() + "'";
        ejec.ejecutar2(sql);
        v.msm = ejec.getMen();
    }

    @Override
    public void actualizar(String al_codigo, String au_codigo, String pr_cedula, String utem_codigo, String asig_codigo,
            String mod_codigo, String prom_codigo, String f_diaa, String hora_inicio, String hfin, String fecha) {
        entidad.setCodigo(al_codigo);
        au.setAu_codigo(au_codigo);
        prof.setPe_cedula(pr_cedula);
        uni.setCodigo(utem_codigo);
        asig.setCodigo(asig_codigo);
        mod.setCodigo(mod_codigo);
        promo.setProm_codigo(prom_codigo);
        entidad.setFd_hora_inicio(hora_inicio);
        entidad.setFd_hora_final(hfin);
        entidad.setFd_fecha(fecha);
        entidad.setFd_dia(f_diaa);
        if (asig.getCodigo() == null) {
            String sql = "update fecha_dia set au_codigo='" + au.getAu_codigo() + "',utem_codigo='',pr_cedula='" + prof.getPe_cedula() + "',asig_codigo='',mod_codigo='" + mod.getCodigo() + "',prom_codigo='" + promo.getProm_codigo() + "',fd_dia='" + entidad.getFd_dia() + "',fd_hora_i='" + entidad.getFd_hora_inicio() + "',fd_hora_f='" + entidad.getFd_hora_final() + "',fd_fecha=to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),fd_grupo_modulo='" + (mod.getCodigo() + promo.getProm_codigo()) + "' where fd_codigo='" + entidad.getCodigo() + "'  ";
            ejec.ejecutar2(sql);
        } else if (uni.getCodigo() == null) {
            String sql = "update fecha_dia set au_codigo='" + au.getAu_codigo() + "',utem_codigo='',pr_cedula='" + prof.getPe_cedula() + "',asig_codigo='" + asig.getCodigo() + "',mod_codigo='" + mod.getCodigo() + "',prom_codigo='" + promo.getProm_codigo() + "',fd_dia='" + entidad.getFd_dia() + "',fd_hora_i='" + entidad.getFd_hora_inicio() + "',fd_hora_f='" + entidad.getFd_hora_final() + "',fd_fecha=to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),fd_grupo_modulo='" + (mod.getCodigo() + promo.getProm_codigo()) + "' where fd_codigo='" + entidad.getCodigo() + "'  ";
            ejec.ejecutar2(sql);
        } else {
            String sql = "update fecha_dia set au_codigo='" + au.getAu_codigo() + "',utem_codigo='" + uni.getCodigo() + "',pr_cedula='" + prof.getPe_cedula() + "',asig_codigo='" + asig.getCodigo() + "',mod_codigo='" + mod.getCodigo() + "',prom_codigo='" + promo.getProm_codigo() + "',fd_dia='" + entidad.getFd_dia() + "',fd_hora_i='" + entidad.getFd_hora_inicio() + "',fd_hora_f='" + entidad.getFd_hora_final() + "',fd_fecha=to_date('" + entidad.getFd_fecha() + "','yyyy-mm-dd'),fd_grupo_modulo='" + (mod.getCodigo() + promo.getProm_codigo()) + "' where fd_codigo='" + entidad.getCodigo() + "'  ";
            ejec.ejecutar2(sql);
        }


        v.msm = ejec.getMen();
    }

    @Override
    public CachedRowSetImpl getLista(String cod, String prof) {
        if (prof != "") {
            try {
                v.crs = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,fdi.FD_HORA_I,fdi.FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and fdi.FD_CODIGO='" + prof + "' order by fd_fecha desc");
            } catch (Exception ex) {
                Logger.getLogger(neg_cronograma.class.getName()).log(Level.SEVERE, null, ex);
            }
        } else {
            try {
                v.crs = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,fdi.FD_HORA_I,fdi.FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and prom.PROM_CODIGO='" + cod + "' order by fd_fecha desc");
            } catch (Exception ex) {
                Logger.getLogger(neg_cronograma.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return v.crs;
    }

    @Override
    public CachedRowSetImpl getcomprobaraula(String cod, String fecha) {
        try {
            v.crs2 = (CachedRowSetImpl) ejec.rellena2("select fd.FD_CODIGO,fd.FD_FECHA from FECHA_DIA fd where fd.AU_CODIGO='" + cod + "' and to_char(fd.FD_FECHA,'yyyy-mm-dd')='" + fecha + "'");
        } catch (Exception ex) {
            System.out.println("Erro al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs2;
    }

    @Override
    public String getmensajei() {
        String sdr = "";
        sdr = v.msm;
        return sdr;
    }

    @Override
    public CachedRowSetImpl getcomprobarprofesor(String cod, String fecha) {
        try {
            v.crs3 = (CachedRowSetImpl) ejec.rellena2("select fd.FD_FECHA,fd.FD_CODIGO from PROFESOR pro, FECHA_DIA fd where pro.PR_CEDULA=fd.PR_CEDULA and pro.PR_CEDULA='" + cod + "' and to_char(fd.FD_FECHA,'yyyy-mm-dd')='" + fecha + "'");
        } catch (Exception ex) {
            System.out.println("Erro al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs3;
    }

    @Override
    public CachedRowSetImpl getdevolverfechaprofesor(String cedula, String fecha) {
        try {
            v.crs1 = (CachedRowSetImpl) ejec.rellena2("select to_char(fd.FD_FECHA,'yyyy-MM-dd'),pr.PR_CEDULA,fd.FD_CODIGO  from FECHA_DIA fd, PROFESOR pr where fd.PR_CEDULA=pr.PR_CEDULA and pr.PR_CEDULA='" + cedula + "' and to_char(fd.FD_FECHA,'yyyy-MM-dd')=to_char('" + fecha + "')");
        } catch (Exception ex) {
            System.out.println("Erro al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs1;
    }

    @Override
    public CachedRowSetImpl getdevolver_cronograma_por_profesor(String cedula, String fi, String ff) {
        try {
            v.crs1 = (CachedRowSetImpl) ejec.rellena2("select fec.fd_codigo,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(prom.PRO_NOMBRE||' '||pl.PL_NOMBRE) as pro_nombre,prog.PP_NOMBRE,modu.MOD_NOMBRE,modu.MOD_NUMEROCREDITOS,to_char(fec.FD_FECHA,'yyyy-mm-dd')as fd_fecha,fec.FD_HORA_I,fec.FD_HORA_F, au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO from PROGRAMA_POSTGRADO prog,PROMOCION prom,FECHA_DIA fec,MODULO modu,PROFESOR prof,aula au,PARALELO pl where prog.PP_CODIGO=prom.PP_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and modu.MOD_CODIGO=fec.MOD_CODIGO and fec.PR_CEDULA=prof.PR_CEDULA and pl.PL_CODIGO=prom.PL_CODIGO and prom.PROM_CODIGO=fec.PROM_CODIGO and au.AU_CODIGO=fec.AU_CODIGO and prof.PR_CEDULA='" + cedula + "' and to_char(fec.FD_FECHA,'yyyy-mm-dd') between '" + fi + "'  and '" + ff + "' order by fd_fecha asc ");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs1;
    }

    @Override
    public CachedRowSetImpl listar_cronograma_por_profesor(String cedula) {

        try {
            v.crs4 = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,fdi.FD_HORA_I,fdi.FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and fdi.FD_CODIGO in(select fd_codigo from cronogramas_dictados) and prof.PR_CEDULA='"+cedula+"' order by fd_fecha,fd_grupo_modulo desc");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs4;
    }

    @Override
    public CachedRowSetImpl listar_cronograma_asignatura_por_promocion(String promocion) {
        try {

            v.crs4 = (CachedRowSetImpl) ejec.rellena2("select fec.FD_GRUPO_MODULO,prog.PP_NOMBRE,prom.PRO_NOMBRE,pa.PL_NOMBRE,modu.MOD_NOMBRE,asig.ASIG_NOMBRE,asig.ASIG_NUMEROCREDITOS,fec.FD_FECHA,fec.FD_HORA_I,fec.FD_HORA_F,(prof.PR_NOMBRES ||' '||prof.PR_apellidos) as pr_nombres,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO from PROMOCION prom, PROGRAMA_POSTGRADO prog, FECHA_DIA fec, MODULO modu, PARALELO pa,PROFESOR prof,aula au,ASIGNATURA asig where fec.ASIG_CODIGO=asig.ASIG_CODIGO and asig.MOD_CODIGO=modu.MOD_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and prog.PP_CODIGO =prom.Pp_CODIGO and prom.PL_CODIGO=pa.PL_CODIGO and fec.AU_CODIGO=au.AU_CODIGO and fec.PROM_CODIGO=prom.PROM_CODIGO and prom.PROM_CODIGO='" + promocion + "' and fec.PR_CEDULA=prof.PR_CEDULA order by fec.FD_FECHA asc");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs4;
    }

    @Override
    public CachedRowSetImpl listar_cronograma_modulos_por_promocion(String promocion) {

        try {

            v.crs4 = (CachedRowSetImpl) ejec.rellena2("select  fec.FD_GRUPO_MODULO,prog.PP_NOMBRE,prom.PRO_NOMBRE,pa.PL_NOMBRE,modu.MOD_NOMBRE,modu.MOD_NUMEROCREDITOS,fec.FD_FECHA,fec.FD_HORA_I,fec.FD_HORA_F,(prof.PR_NOMBRES ||' '||prof.PR_apellidos) as pr_nombres,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO from PROMOCION prom, PROGRAMA_POSTGRADO prog, FECHA_DIA fec, MODULO modu, PARALELO pa,PROFESOR prof,aula au where fec.MOD_CODIGO=modu.MOD_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and prog.PP_CODIGO =prom.Pp_CODIGO and prom.PL_CODIGO=pa.PL_CODIGO and fec.AU_CODIGO=au.AU_CODIGO and fec.PROM_CODIGO=prom.PROM_CODIGO and fec.PROM_CODIGO='" + promocion + "' and fec.PR_CEDULA=prof.PR_CEDULA and fec.ASIG_CODIGO is null order by fec.FD_FECHA asc");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs4;
    }

    @Override
    public CachedRowSetImpl devolver_cronograma(String promocion, String fi) {
        try {
            v.crs4 = (CachedRowSetImpl) ejec.rellena2("select prom.PROM_CODIGO,prog.PP_NOMBRE,prom.PRO_NOMBRE,pa.PL_NOMBRE,modu.MOD_NOMBRE,modu.MOD_NUMEROCREDITOS,fec.FD_FECHA,fec.FD_HORA_I,fec.FD_HORA_F,(prof.PR_NOMBRES ||' '||prof.PR_apellidos) as pr_nombres,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO from aula au,PROMOCION prom, PROGRAMA_POSTGRADO prog, FECHA_DIA fec, MODULO modu,PARALELO pa,PROFESOR prof where fec.MOD_CODIGO=modu.MOD_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and prog.PP_CODIGO=prom.PP_CODIGO and prom.PROM_CODIGO=fec.PROM_CODIGO and prom.PL_CODIGO=pa.PL_CODIGO and fec.PROM_CODIGO='"+promocion+"' and fec.AU_CODIGO=au.AU_CODIGO and fec.PR_CEDULA=prof.PR_CEDULA and to_char(fec.FD_FECHA,'yyyy-mm-dd')='"+fi+"'");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs4;
    }

    @Override
    public CachedRowSetImpl devolver_cronograma_modificado(String codigo) {
        try {
            v.crs5 = (CachedRowSetImpl) ejec.rellena2("select prom.PROM_CODIGO,prog.PP_NOMBRE,prom.PRO_NOMBRE,pa.PL_NOMBRE,modu.MOD_NOMBRE,modu.MOD_NUMEROCREDITOS,fec.FD_FECHA,fec.FD_HORA_I,fec.FD_HORA_F,(prof.PR_NOMBRES ||' '||prof.PR_apellidos) as pr_nombres,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO from aula au,PROMOCION prom, PROGRAMA_POSTGRADO prog, FECHA_DIA fec, MODULO modu,PARALELO pa,PROFESOR prof where fec.MOD_CODIGO=modu.MOD_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and prog.PP_CODIGO=prom.PP_CODIGO and prom.PROM_CODIGO=fec.PROM_CODIGO and prom.PL_CODIGO=pa.PL_CODIGO and fec.AU_CODIGO=au.AU_CODIGO and fec.PR_CEDULA=prof.PR_CEDULA and fec.FD_CODIGO='"+codigo+"'");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs5;
    }

    @Override
    public CachedRowSetImpl getLista_horario_documentos(String cod) {
       try {
            v.crs2 = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,prof.pr_cedula,modu.MOD_NOMBRE as mod_nombre,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,(fdi.FD_HORA_I|| ' a ' ||fdi.FD_HORA_F) as fd_hora_i,fdi.FD_FECHA,fdi.fd_grupo_modulo,prog.PP_NOMBRE,prog.pp_codigo,(prom.PRO_NOMBRE||' '||pa.pl_nombre) as pl_nombre  from profesor prof,promocion prom,FECHA_DIA fdi,modulo modu,PROGRAMA_POSTGRADO prog,PARALELO pa  where prog.PP_CODIGO=prom.PP_CODIGO and prom.PROM_CODIGO=fdi.PROM_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA  and pa.PL_CODIGO=prom.PL_CODIGO and prom.PROM_CODIGO='"+cod+"' order by fd_fecha desc");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs2;
    }

    @Override
    public CachedRowSetImpl numero_horas_por_grupo(String grupo,String cedula) {
         try {
            v.crs6 = (CachedRowSetImpl) ejec.rellena2("select count(fd_grupo_modulo)*8 as total from FECHA_DIA,profesor where FD_GRUPO_MODULO='"+grupo+"' and PROFESOR.PR_CEDULA=FECHA_DIA.PR_CEDULA and FECHA_DIA.pr_cedula='"+cedula+"'");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs6;
    }

    @Override
    public CachedRowSetImpl fechas_cronogramas_por_grupo(String grupo, String cedula) {
        try {
            v.crs = (CachedRowSetImpl) ejec.rellena2("select to_char(fd_fecha, 'yyyy-mm-dd') as fd_fecha  from FECHA_DIA,profesor where FD_GRUPO_MODULO='"+grupo+"' and PROFESOR.PR_CEDULA=FECHA_DIA.PR_CEDULA and FECHA_DIA.pr_cedula='"+cedula+"'");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs;
    }

    @Override
    public CachedRowSetImpl total_estudiantes_por_promocion(String promocion) {
            try {
            v.total_alumnos = (CachedRowSetImpl) ejec.rellena2("select count(al_cedula) as total from alumno where alumno.prom_codigo='"+promocion+"'");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.total_alumnos;
    }

    @Override
    public CachedRowSetImpl getLista_comprobar_cronogramas_dictados(String cod) {
        try {
            v.total_alumnos = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,fdi.FD_HORA_I,fdi.FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and prom.PROM_CODIGO='"+cod+"' and fdi.FD_CODIGO in(select fd_codigo from cronogramas_dictados) order by fd_fecha desc");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.total_alumnos;
    }

    @Override
    public CachedRowSetImpl getLista_cronograma(String cod, String profesor) {
        if (profesor != "") {
            try {
                v.crs = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,to_date(fdi.FD_HORA_I,'HH24:mi') as FD_HORA_I,to_date(fdi.FD_HORA_F,'HH24:mi') as FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and fdi.FD_CODIGO='" + prof + "' order by fd_fecha desc");
            } catch (Exception ex) {
                Logger.getLogger(neg_cronograma.class.getName()).log(Level.SEVERE, null, ex);
            }
        } else {
            try {
                v.crs = (CachedRowSetImpl) ejec.rellena2("select fdi.FD_CODIGO,fdi.AU_CODIGO,(prof.PR_NOMBRES||' '||prof.pr_apellidos) as pr_nombres,(modu.MOD_NOMBRE || '  creditos:' || modu.mod_numerocreditos) as mod_nombre,au.AU_NUMERO,au.AU_BLOQUE,au.AU_PISO,fdi.PR_CEDULA,fdi.UTEM_CODIGO,fdi.ASIG_CODIGO,fdi.MOD_CODIGO,fdi.PROM_CODIGO,fdi.FD_DIA,to_date(fdi.FD_HORA_I,'HH24:mi') as FD_HORA_I,to_date(fdi.FD_HORA_F,'HH24:mi') as FD_HORA_F,fdi.FD_FECHA,fdi.fd_grupo_modulo from profesor prof,promocion prom,FECHA_DIA fdi,aula au,modulo modu where prom.PROM_CODIGO=fdi.PROM_CODIGO and au.AU_CODIGO=fdi.AU_CODIGO and modu.MOD_CODIGO=fdi.MOD_CODIGO and prof.PR_CEDULA=fdi.PR_CEDULA and prom.PROM_CODIGO='" + cod + "' order by fd_fecha desc");
            } catch (Exception ex) {
                Logger.getLogger(neg_cronograma.class.getName()).log(Level.SEVERE, null, ex);
            }
        }

        return v.crs;
    }

    @Override
    public CachedRowSetImpl cronograma_por_profesor(String cedula) {
        try {
            v.crs7 = (CachedRowSetImpl) ejec.rellena2("select (prom.PRO_NOMBRE||' '||pl.PL_NOMBRE||'-'||prog.PP_NOMBRE||'-'||modu.MOD_NOMBRE) as pro_nombre from PROGRAMA_POSTGRADO prog,PROMOCION prom,FECHA_DIA fec,MODULO modu,PROFESOR prof,aula au,PARALELO pl where prog.PP_CODIGO=prom.PP_CODIGO and modu.PP_CODIGO=prog.PP_CODIGO and modu.MOD_CODIGO=fec.MOD_CODIGO and fec.PR_CEDULA=prof.PR_CEDULA and pl.PL_CODIGO=prom.PL_CODIGO and prom.PROM_CODIGO=fec.PROM_CODIGO and au.AU_CODIGO=fec.AU_CODIGO and prof.PR_CEDULA='"+cedula+"' and to_char(fec.FD_FECHA,'yyyy-mm-dd')=to_char((select sysdate from dual),'yyyy-mm-dd')");
        } catch (Exception ex) {
            System.out.println("Error al obtener la lista de datos" + ex.getMessage());
        }
        return v.crs7;
    }
}
